<script setup lang="ts">
// 导入 Vue 的异步组件定义函数
import { defineAsyncComponent, getCurrentInstance, provide } from 'vue';
// 插件实现
import AsaiJsAs from './plugs/asai-js-as/AsaiJsAs.ts';

// 从install中拉取全局变量
const $vueProxy: any = getCurrentInstance()?.proxy;
// 初始化前端引擎，并解构出全局模型
const { $ujtasai } = $vueProxy.$engineasai.useProvide({
    AsaiJsAs,
});
// 挂载全局预加载的变量
provide('$vueProxy', $vueProxy);

// 定义应用配置对象，包含应用版本和路由索引组件，使用异步组件提高性能
const appmodules: any = {
    appVer: 1,
    // 使用异步组件提高性能
    indexRouters: {
        views: defineAsyncComponent(() => import('./views/index.vue')),
        testkdd: defineAsyncComponent(
            () => import('./testkdd/views/index.vue')
        ),
        novel: defineAsyncComponent(() => import('./novel/views/index.vue')),
        blog: defineAsyncComponent(() => import('./blog/views/index.vue')),
    },
};
</script>

<template>
    <!-- 使用 AsaiInitPage 组件并传入应用配置 -->
    <AsaiInitPage :appmodules="appmodules" :ujt="$ujtasai"></AsaiInitPage>
</template>

<style lang="scss">
@use './css/main.scss';
</style>
